import { PageParam } from '@/services/common'
import { NFBaseService } from '@/services/NFBaseService'

/* ******************* 约档项目 ******************* */
export interface ScheduleProjectVO {
  id: number
  name: string
  desc: string
  priorityLimit: number
  createTime: string
  status: boolean
  headImg?: string
}

export interface ScheduleProjectQueryDTO extends PageParam {
  id?: string
}

export interface ScheduleProjectUpdateDTO {
  id?: number
  name: string
  desc: string
  priorityLimit: number
  createTime: string
  status: boolean
  headImg?: string
}

export interface ScheduleProjectFormBO {
  id?: number
  name: string
  desc: string
  priorityLimit: number
  createTime: string
  status: boolean
  headImg?: string
}

class ScheduleProjectService extends NFBaseService<
  ScheduleProjectVO,
  ScheduleProjectQueryDTO,
  ScheduleProjectUpdateDTO
> {
  protected _bizName: string = 'scheduleProject'
}

export const scheduleProjectService = new ScheduleProjectService()

/* ******************* 约档档期 ******************* */
export interface ScheduleProjectTimeDetailVO {
  id: number
  projectId: number
  tagName: string
  scheduleDatetime: string
  status: boolean
  lock: boolean
}

export interface ScheduleProjectTimeDetailQueryDTO {
  id?: string
}

export interface ScheduleProjectTimeDetailUpdateDTO {
  id?: number
  projectId: number
  tagName: string
  scheduleDatetime: string
  status: boolean
  lock: boolean
}

export interface ScheduleProjectTimeDetailFormBO {
  id?: number
  projectId: number
  tagName: string
  scheduleDatetime: string
  status: boolean
  lock: boolean
}

class ScheduleProjectTimeDetailService extends NFBaseService<
  ScheduleProjectTimeDetailVO,
  ScheduleProjectTimeDetailQueryDTO,
  ScheduleProjectTimeDetailUpdateDTO
> {
  protected _bizName: string = 'scheduleProjectTimeDetail'
}

export const scheduleProjectTimeDetailService = new ScheduleProjectTimeDetailService()
